Continuous integration is a modern technology used in software engineering and software quality assurance. Continuous integration is a software development practice of frequently integrating new or changed code with an existing code repository, resulting in multiple integrations. Each of the integrations is verified by an automated build (including test) to detect integration errors as quickly as possible. This approach leads to reduced integration problems and a more rapid development of cohesive software.
There are various continuous integration systems that exist today. One such system is Jenkins. Jenkins provides a continuous integration system, making it easier for developers to integrate changes to a project and making it easier for users to obtain a fresh build. However, Jenkins and other systems of today lack the capability of storing build and test results that are easily searchable and accessible to a user. Content repositories are sometimes utilizes as a solution for this problem.
A content repository is a store of content that allows application-independent access to the content, with the ability to store and modify the content in addition to searching and retrieving the content. Content repositories are used in content management systems to store content data and metadata associated with the content data (such as versioning metadata). However, many application files are built and revised over a period of time leading to the continuous integration of new or changed code with the existing code repository, also resulting in multiple integrations. As a result, content repositories face the same difficulty as continuous integration systems of trying to store build and test results of applications in the content repositories that are easily searchable and accessible to a user.